﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 版权所有 (c) 2022 北京超维景生物科技有限公司 保留所有权利。
 * 
 * 创建者：huangyang
 * 电子邮箱：huangyang@tvscope.cn
 * 创建时间：2023/3/3 11:02:47
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ImageK.Java
{
    /// <summary>
    /// 用于处理字体尺寸相关
    /// </summary>
    public class FontMetrics
    {
        private Graphics _g;
        public Font Font { get; set; } = new Font("Arial", 10);
        public FontMetrics(Graphics g)
        {
            this._g = g;
        }

        public FontMetrics(Graphics g, Font font)
        {
            this._g = g;
            this.Font = font;
        }

        public float StringWidth(string str)
        {
            SizeF size = _g.MeasureString(str, Font);
            return size.Width;
        }

        public float CharWidth(char c)
        {
            SizeF size = _g.MeasureString(c + "", Font);
            return size.Width;
        }

        public int getHeight()
        {
            SizeF size = _g.MeasureString("A", Font);
            return (int)size.Height;
        }

        public int getLeading()
        {
            return 0;
        }

        public int getAscent()
        {
            return getHeight();
        }

        public int getDescent()
        {
            return 0;
        }
    }
}
